The access performance of data of a specific size may deteriorate while the fixed minimum program number (FMPN) increases. The FMPN is the minimum data size required for each programming process.
FIG. 1A is a schematic diagram of the conventional access method for a non-volatile memory having FMPN of 8 KB.
Please refer to FIG. 1A, FMPN is 8 KB and assume that the new data to be updated is 4 KB on L side.
Traditionally, if data of a size smaller than FMPN is to be updated or programmed, the data will be programmed together with another data so that the total data size of the combined data reaches FMPN. The combined data of a size that equals to FMPN conventionally includes two sections, whereas the present invention includes three sections which will be further described afterwards. The two sections are named R side (located at the right side of the combined data) and L side (located at the left side of the combined data) for illustration purpose only. Data that is to be updated or programmed is stored in the L side while data for complement use so that the total data size can reach EMPN is stored in the R side. Due to characteristic of non-volatile data storage device, the complement 4 KB data on R side must be read out since the data should be kept as valid, as shown in step 11. Then, the new 4 KB data is updated to L side of a random access memory (RAM), as shown in step 12. Next, the 8 KB combined data is sent from the RAM to a storage buffer, as shown in step 13. Finally, the 8 KB (FMPN) combined data is programmed from the storage buffer to an array, as shown in step 14. The total amount of data that has been transferred between the RAM and the storage medium is 4 KB (step 11)+8 KB (step 13)=12 KB.
FIG. 1B is a flowchart of the conventional access method for the non-volatile memory having FMPN of 8 KB.
Please refer to FIG. 1B, the conventional access method for FMPN of 8 KB comprises the steps of:                step SA1: receiving new data;        step SA2: checking if the amount of the new data is less than FMPN; if, yes, running next step; if no, the new data is multiple FMPN access (step SA21), and then checking if finishing the step (step SA22); if no, running next step;        step SA3: reading the 4 KB-part of the data which does not need to be updated from a non-volatile storage to a volatile storage;        step SA4: merging the new data and the data that does not need to be updated; and        step SA5: programming the non-volatile storage with FMPN.        
FIG. 2 is a schematic diagram of the conventional access method for a non-volatile memory having FMPN of 16 KB.
Please refer to FIG. 2, in this embodiment, FMPN is 16 KB and assume that the new data to be updated is 4 KB on the L side. The flowchart is the same as FIG. 1B, so the drawing is omitted.
Due to characteristic of non-volatile data storage device, the complement 12 KB data on the R side must be read out since the data should be kept as valid, as shown in step 21. Then, the new 4 KB data is updated to the L side of the RAM, as shown in step 22. Next, the 16 KB combined data is sent from the RAM to the storage buffer, as shown in step 23. Finally, the 16 KB (FMPN) combined data is programmed from the storage buffer to the array, as shown in step 24. The total amount of data that has been transferred between the RAM and the storage medium is 12 KB (step 21)+16 KB (step 23)=28 KB.
In comparison of 8 KB FMPN where the total amount of data transferred is 12 KB, the performance of 16 KB FMPN is lower.